package org.yaac.server.egql.processor;

import java.io.Serializable;

import org.yaac.shared.egql.ResultStatus;

import com.google.appengine.api.datastore.Key;

/**
 * global variables shared among different stages of a pipeline job
 * 
 * @author Max Zhu (thebbsky@gmail.com)
 *
 */
public class ProcessContext implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * processor is executed with pipeline
	 */
	private Key pipelineKey;

	private String clientId;
	
	/**
	 * 
	 */
	private ResultStatus status;
	
	public ProcessContext() {
		this.status = ResultStatus.PROCESSING;
	}
	
	public String getClientId() {
		return clientId;
	}

	public void setClientId(String clientId) {
		this.clientId = clientId;
	}

	public void setPipelineKey(Key pipelineKey) {
		this.pipelineKey = pipelineKey;
	}

	public void setStatus(ResultStatus status) {
		this.status = status;
	}

	public Key getPipelineKey() {
		return pipelineKey;
	}

	public ResultStatus getStatus() {
		return status;
	}
}
